package cn.edu.sdjzu.xg.bysj.domain;

import java.io.Serializable;

public final class Major implements Comparable<Major>, Serializable {
    private Integer id;
    private String description;
    private String no;
    private String remarks;
    private Department department;

    public Major(Integer id, String description, String no, String remarks,
                 Department department) {
        super();
        this.id = id;
        this.description = description;
        this.no = no;
        this.remarks = remarks;
        this.department = department;
    }


    public Integer getId() {
        return id;
    }


    public void setId(Integer id) {
        this.id = id;
    }


    public String getDescription() {
        return description;
    }


    public void setDescription(String description) {
        this.description = description;
    }


    public String getNo() {
        return no;
    }


    public void setNo(String no) {
        this.no = no;
    }


    public String getRemarks() {
        return remarks;
    }


    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }


    public Department getDepartment() {
        return department;
    }


    public void setDepartment(Department department) {
        this.department = department;
    }


    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        return result;
    }


    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        final Major other = (Major) obj;
        if (id == null) {
            if (other.id != null)
                return false;
        } else if (!id.equals(other.id))
            return false;
        return true;
    }


    @Override
    public int compareTo(Major o) {
        // TODO Auto-generated method stub
        return this.id - o.id;
    }


    /**
     * Constructs a <code>String</code> with all attributes
     * in name = value format.
     *
     * @return a <code>String</code> representation
     * of this object.
     */
    public String toString() {
        final String TAB = "    ";

        String retValue = "";

        retValue = "Major ( "
                + super.toString() + TAB
                + "id = " + this.id + TAB
                + "description = " + this.description + TAB
                + "no = " + this.no + TAB
                + "remarks = " + this.remarks + TAB
                + "department = " + this.department + TAB
                + " )";

        return retValue;
    }


}
